1. Field of the Invention
This invention relates to the field of information processing and more specifically to processes for transmitting information between computers and printers.
2. Background of the Invention
U.S. Pat. No. 4,651,278, incorporated herein by reference, describes an interface process for an all points addressable printer. The process described in the '278 patent is known commercially as Intelligent Printer Data Stream (IPDS, a trademark of International Business Machines Corporation).
IPDS.TM. provides a structured field data stream that is designed to manage and control printer processes by allowing both data and commands to be passed to the printer using the data stream. This process enables the transmission of commands and data from a host application to the printer in a manner that is independent of the communication means and the transmission protocol. A description of the architecture of IPDS.TM. is provided in the manual IPDS Reference Data Stream and Object Architectures, S 544-3417, available from the International Business Machines Corporation.
Other commercially available printer page description and control languages are known, and several rely upon a printer control stream for communication between a computer and printer.
FIG. 1 illustrates an example of a known printer control stream in which job control information, J.sub.K . . . , is concatenated with printer control and page composition information, P.sub.1 P.sub.2 . . . P.sub.L. Typically, the printer control and page composition information is expressed in a common page description language such as PostScript.TM.. To permit a printer to properly interpret the FIG. 1 printer control stream, the job control language includes a start string, J.sub.START, which uniquely identifies the control string as being expressed in the job control language J. The job control language also includes a page description language identification command, J.sub.LANGP, which is used to alert the printer that a page description language segment follows, expressed in the P page description language. The concatenated printer control and page composition segment is typically terminated with an escape sequence, P.sub.ESC, which is recognizable by a printer language interpreter for the language P. Typically, another job control language string starting with a J.sub.START string will begin at this point in the concatenated printer control stream.
Though the printer control stream illustrated in the prior art FIG. 1 simplifies the communication task from the originating computer's point of view, the concatenated structure of such a stream requires the printer to perform complex pattern recognition (also known as "sniffing") to recognize the escape sequence at the end of the P language segment. The page composition segment can include graphics information segments containing binary data (not shown). Portions of the binary data are sometimes confused with a terminating escape sequence resulting in a loss of synchronization between the printer and the control stream. The loss of synchronization requires elaborate recovery procedures to reestablish synchronization.
In the example illustrated in FIG. 1, the printer is able to recognize three different page description languages. When a particular language is identified, J.sub.LANGP, an appropriate one of the three language interpreters is activated. The task of recognizing the escape sequence which terminates the segment is assigned to the activated interpreter, which returns an END OF CURRENT STREAM DETECTED signal. A problem occurs when a printer does not include an interpreter for a specific page description language segment. The printer is unable to locate the end of the segment, and a loss of synchronization results.
It is desirable to have a simple process for communicating job control and page description information to a printer in a single printer control stream without requiring the printer to perform complex pattern recognition or risk loss of synchronization.